package top.purity.server.tenant.service;

import top.purity.framework.common.exception.ServiceException;
import top.purity.framework.orm.PageResp;
import top.purity.server.tenant.controller.vo.AddTenantUserReqVO;
import top.purity.server.tenant.controller.vo.TenantInfoVO;
import top.purity.server.tenant.controller.vo.TenantTableReqVO;
import top.purity.server.tenant.controller.vo.UpdateTenantUserReqVO;

/**
 * @version 1.0
 * @Author Lmh
 * @Description
 * @CreateTime 2023-09-22 22:29
 */
public interface TenantUserService {

    /**
     * 根据id获取租户信息
     * @param id 租户id
     * @return 租户信息
     */
    TenantInfoVO getInfo(Long id);

    /**
     * 新增租户
     * @param vo vo
     */
    void add(AddTenantUserReqVO vo);

    /**
     * 获取租户列表
     * @param reqVO
     * @return
     */
    PageResp<TenantInfoVO> table(TenantTableReqVO reqVO);

    /**
     * 编辑租户
     * @param vo 编辑租户 vo
     * @see UpdateTenantUserReqVO
     */
    void update(UpdateTenantUserReqVO vo) throws ServiceException;
}
